在第一個章節提到:Genero FGL中若用到了交談指令,則必須要有一個客戶端來進行畫面的處理與呈現。最簡單常用的工具就是 GDC(Genero Desktop Client)。怎麼把 GDC 玩得好,玩的巧,會比較重要。
這個段落係以鼎新 TIPTOPGP/T100 系列ERP運用的方案為主
GDC主要必須搭配FGL套件的主版本,所以若您的 FGL 套件為2.2系列的,下載3.2X GDC是無法連結的。查看FGL版本可使用『FGLRUN -V』指令,以下列出系列現行最後更新版號,若非為最後版本,可考慮更新。
GDC 從 3.X 系列起,安裝過程中除路徑與授權詢問外,最重要的是詢問是否授予安裝路徑的寫入權,這是為了符合OS層的規範而設計的,勾選後未來才可讓 autoupdate 生效,未勾選時後續仍可啟動,但會無法完成 autoupdate (需要手工另外壓權限)
安裝完成後,建議在 Windows端給予『系統管理者』身分執行作業
系統管理者與前一個『授予寫入權』是不同的事情,所以兩者不可只挑其一。系統管理者是在運行過程中,若使用新PORT建立連線時不會遭到異常終止,故建議啟用
此外我們可對執行參數進行一些修改後在作啟動GDC
捷徑的執行目標 "gdc.exe" -aD -A 0
參數說明
GDC 在2.50版本前有額外推出 ActiveX 版本,支持 ie 觸發下載功能。隨著微軟正式宣告停止支援 ActiveX,GDC從 3.00起停止發行 ActiveX 版本
我們將第一篇的 FGLRUN與GDC關係圖在做深化一些講解:
程式利用FGLRUN 工具執行起來時,就已經會在主機的記憶體中呈現一棵程式樹。但因為沒有畫面檔的需求,或是還不需要與用戶交談,這個XML結構 (樹) 不會送出。直到執行『交談指令』才會送出。
(交談指令為:MENU/INPUT/DISPLAY ARRAY/CONSTRUCT/PROMPT/DIALOG等)
當踩到交談指令後,即會將此 XML結構送出;之後,再傳送『有異動的部分』回到服務器。
(所以,當畫面啟動當下,傳輸量會有個小高峰,接下來傳輸量會降低。)
我們可以從 GDC端,透過 Ctrl-滑鼠右鍵,在執行出來的應用程式空白處點擊,就可以把XML結構呈現出來
透過AUI TREE可以看甚麼?當然是看畫面上的結構、元件、甚至是資源檔讀進來的內容,是否滿足原先構想的需求。
舉例來說:現在畫面上 lbl_gzza001 到底翻譯資料讀進來是啥?COMBOBOX下拉式選單裡面是否已經有選項?等。這些都可以透過從AUITREE的資料來確認想處理的是否已送到GDC。
將 XML 轉化為實體的外顯視窗、表單、元件的方式,即為渲染的意思。GDC原始透過 QT 的工具協助繪製各種對應於 OS 的視窗及控件(widget),這就是 Native Randering
現今許多桌面應用作業,都想相容於瀏覽器、或跨移動端執行,且個性化、客製化程度高。傳統式的點擊操控在瀏覽器介面早已被多樣的控件取代。因此後續將會修改為以 Universal Randering為主,逐步停止對 Native Randering 的支持。
GDC作為一個承載渲染引擎的工具,從GDC 3.00開始,支援 Native 與 Universal 並存。
**於 GDC 4.00板起,取消 Native Randering 的支援 **
兩種渲染方式,其實影響的不是程式碼(4GL & PER/4FD),而是相對位置。因此,相關程式功能大多不會因為調整渲染方式而發生異動,需要檢視的是畫面元件,會不會因為相對位置的些微出入,造成排版上閱讀不習慣。這是需要花力氣在作核對的。
注:因應網路特性:瀏覽器基底不會支援直接讓 Code 透通 OS 的底層,所以同時被關閉的功能還有 frontCALL 部分,此部分調整成因與『渲染引擎』無關,不可混為一談。
啟動後若沒有調整啟動通訊埠,預設為 6400,重複啟動GDC (不同版本) 時,會疊加到 6401..之後
若啟動 port變更,則主機上 FGL 所需要的環境變數也需要對應修改,如 export FGLSERVER=X.X.X.X:1
:1 指的就是在 6400 + 1 = 6401 (依此類推)
設定頁簽上有些功能可作為運用
操作遇到問題,最麻煩的就是無法理解用戶當下遇到甚麼問題。所以可以透過上述『交紀錄檔』的方法,請用戶作一下操作過程的錄製。錄製出來的檔案提交到 MIS 或開發端,可以利用『重播』功能,觀看整個操作紀錄。可能是資料缺漏,或是真正遇到問題,都可以從此處看出來。
例如上方曾經提到的 AUI TREE,如果想要理解『如何被異動』,就可以點開立即查看的小視窗。此處會將收到的封包內容完整的呈現過來,此時可以觀察到底是缺少設定資料,或是發生異常的段落。
** 從 FGL端也可查看,需要使用『export FGLGUIDEBUG=1』啟動監測功能,與GDC相互比對
此方法通常可觀測到的是網路問題,例如已經觸發功能了,但 server沒傳遞過來 (可能防火牆有開,或 roter不通之類的問題)
回到第一個頁簽中,曾經看過捷徑的設定。基本上建議可善用此連線設定,只要將 GAS 套件提供的連線 URL 配置過來,透過點擊就可以直接開啟作業進行操作。省去了透過瀏覽器啟動的動作。
下一步
從 GDC 3.20 版本起,該捷徑配置還可支援『拖拉方式』,直接拖曳到桌面匯出,或拖拉到 GDC 進行匯入。此舉可方便分享操作捷徑,對推廣系統初期,甚為便利。
GDC可運用的配置項目還有許多,但仍受到 OS 與第三方搭配軟體 (如 QT) 的版本牽制,以致於許多設定或異常並沒有辦法及時修復。期望後續在調整為 Universal Randering 之後,能趨向於即知即改,避免用戶作過多的替代方案。